#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdint.h>

#include "LinkedList.h"


int main() {

  LinkedList * ll = initialize();
  uint64_t i;
  for (i = 0; i < 10; i++) {
    ll_append(ll, (void*) i); 
  }
  for (i = 0; i < 10; i++) {
    assert( (uint64_t) ll_get( ll, i ) == i );
  }
  for (i = 0; i < 10; i++) {
    ll_remove( ll, 0 );
  }
  for (i = 0; i < 10; i++) {
    ll_push( ll, (void*) i );
  }
  assert( ll_size( ll ) == 10 );
  assert( !ll_isEmpty( ll ) );
  ll_print( ll );
  ll_free ( ll );

}
